/**
 * date.h
 * Implementasi untuk modul date
 * ADT Date, struktur data tanggal
 * Fri, 4 Dec 2009
 * By Mahful Bahri 13208058
 * */


#ifndef date_h
#define date_h

#include "../mesinkata/mesinkata.h"
#include "boolean.h"
#include<time.h>

typedef struct {
	int h,m,s;
} Time;
//tipe time (h:m:s)

typedef struct {
	int d,m,y;
} Date;
//tipe date (d-m-y)

Time ParseTime(string s);
/**
 * Mengkonversi string menjadi Time
 * */

Date ParseDate(string s);
/**
 * Mengkonversi string menjadi Date
 * */

boolean IsDateLt(Date d1 , Date d2);
/**
 * Mengecek apakah d1 sebelum d2
 * */

boolean IsDateEqual(Date d1 , Date d2);
/**
 * Mengecek apakah d1 sama dengan d2
 * */

boolean IsTimeLt(Time t1 , Time t2);
/**
 * Mengecek apakah t1 sebelum t2
 * */

boolean IsTimeEqual(Time t1 , Time t2);
/**
 * Mengecek apakah t1 sama dengan t2
 * */

Date GetCurrentDate();
/**
 * Mengambil tanggal saat ini dari sistem
 * */

Time GetCurrentTime();
/**
 * Mengambil waktu saat ini dari sistem
 * */

string DateToString(Date d);
/**
 * Mengkonversi dari Date ke string
 * */

string TimeToString(Time t);
/**
 * Mengkonversi dari Time ke string
 * */

#endif
